Method of accessing or sharing a digital document in a peer-to-peer communication network

ABSTRACT

A digital document system in which a digital document in a communication network is shared between a plurality of stations, said system comprising:
         a first station ( 101 A) having a first digital document (DD 1 ) comprising a thumbnail data item (TH 1 ) and an original data item (HR 1 );   a second station ( 102 A) having a second digital document (DD 2 ) comprising a thumbnail data item (TH 2 ); and   a center station ( 100 A) comprising:
           calculating means for calculating signatures of the thumbnail data items (TH 1,  TH 2 ) of the first and second digital documents (DD 1,  DD 2 );   comparing means for comparing the calculated signatures of the thumbnail data items (TH 1,  TH 2 ); and   transmitting means for transmitting information for accessing the original data item (HR 1 ) of the first digital document (DD 1 ) to the second station ( 102 A) according to a result of the comparison.

BACKGROUND OF THE INVENTION

The present invention relates to the accessing or to the sharing of adigital document in a communication network of distributed type commonlyreferred to as having “peer-to-peer” topology, and more particularly toaccessing a data item of a digital document, from any station of thenetwork, on the basis of another data item of the same digital document.

As from the last few years, peer-to-peer networks have become analternative to the client-server systems widely used up till now. Thisis because, due to their distributed architecture, peer-to-peer networksmake it possible to share a high quantity of digital data between alarge number of users, without this necessitating a costlyinfrastructure.

In practice, in a peer-to-peer network, each station plays the role ofclient and server. Thus, each station can request a data item or adigital document from any other station of the network and the exchangeof data may be carried out directly from one station to another.

In what follows, the term “document or digital data item” appliesequally to images or digital videos, or to digital texts.

Generally, the same digital document comprises at least first and seconddata items connected to each other according to an edition relationshipof hierarchical type and/or quality in terms of resolution, version,language, size or content. In practice, the original data item (referredto here as second data item of the digital document to share) has thehighest resolution and the data item having the lowest resolution isreferred to as a thumbnail (and corresponding here to the first dataitem of the digital document to share).

In the case in which the digital document is an image, the original dataitem corresponds to the original image, that is to say at fullresolution, and the thumbnail corresponds to an image of lowerresolution.

In the case in which the digital document is a video, the original dataitem corresponds to the sequence of original images and the thumbnailcorresponds, for example, to the first image of the video at a lowerresolution than the resolution of the original video.

Currently the distribution of data increasingly relies on peer-to-peernetworks due to their low-cost installation, due to the presence of verynumerous computers connected to the network, and also due to thedevelopment of broadband connections.

However, peer-to-peer networks are unstable. This is because clientdevices (and consequently server devices) connect and disconnectperiodically to the network, thus rendering the presence of data highlyunpredictable. Furthermore, the addresses of client and/or serverdevices are unpredictable and liable to be different at each connection.

The result of this is that access to content on a communication networkof peer-to-peer type still constitutes a considerable difficulty sincethe lag in obtaining the data item is no longer simply due to the timenecessary for retrieval of the data as in the conventional client-servertopology, but also in the time for searching for a server device havingthat data item. According to the topology of the peer-to-peer networkconcerned, this searching phase may or may not be negligible.

To remedy these drawbacks, one solution consists of using a centralserver which guarantees a minimum quality of service. This then referredto as a hybrid peer-to-peer network.

In practice, sharing a digital document over a peer-to-peercommunication network consists of the following known succession ofsteps:

-   -   selecting the document to share;    -   associating a unique identifier making it possible to find the        location of the document on the network;    -   calculating a thumbnail on the basis of the original data item;    -   updating an index table at the central server by associating an        identifier of the shared document with one (or several)        station(s), each of these stations being server for the        document.

This known succession of steps is used in most peer-to-peer networks toshare a document with a community of users, that is to say that anyonemay access the shared document provided that person knows theidentifier. This is then referred to as public sharing.

By contrast, it is possible to share a document with a group of friendsand to restrict the access to that document to that group of friends.This then referred to as restricted access sharing (private sharing).

In this case, the private sharing of a document necessitates twoadditional steps:

-   -   selecting the recipients;    -   sending notification to each of those recipients so as to inform        them that a new document has been shared.

In practice, the present invention is in no way modified whether one orthe other of these sharing systems is used. In what follows, the presentinvention is described in the case in which the document is publiclyshared.

The stations of a peer-to-peer network are in general computersconnected to the network through the wired network. Nevertheless, anytype of apparatus may connect to that network. For example, a mobiletelephone or a personal digital assistant. According to their capacities(memory, calculation capacity) it is possible for these apparatuses notto play their role of servers (for example mobile telephones). Thesecases are referred to as thin stations which only provide the clientfunction of a station, that is to say a passive role which consists oflooking at the documents or digital data which are sent to them and ofsharing but however not serving the data.

One of the problems to be solved is thus to share digital documents fromany digital apparatus, whether that apparatus be a station in its ownright, or a thin station.

The sharing mechanism of the prior art, described above, implies thatthe station from which the sharing arises plays the role of server. Inthe opposite case, that is to say when the sharing arises from a thinstation, only the thumbnail is actually shared, the original data itembeing stored on the thin station which cannot serve it. In fact, thatoriginal data item is accessible once it has been stored on a station inits own right, playing the role of server.

The problem to solve can thus be described by means of the followingexample:

Further to some photographs having been taken, a user wishes to sharethem (or some of them) from a thin station (typically a mobiletelephone). When another user requests the original data item via thedocument identifier, that original data item is not accessible via thesharing system.

If we now have the photograph taker making that original data itemaccessible from another station (different from the thin station withwhich he shared the thumbnail), the problem is thus to match theoriginal data item with the thumbnail (allocation of the sameidentifier) such that the station which stores that original data itemcan serve a request comprising that identifier.

In other words, the problem is to synchronize the two versions ofdifferent resolution (referred to here as first and second data items ofa first document) of a digital document when the two versions are sharedat different times or from different stations (referred to here as firstand second documents).

Once a document has been shared, that is to say that the thumbnail andthe original data item are associated with a unique identifier, any usermay access the original data item on the basis of that identifier. Thisimplies that the identifier is associated with the thumbnail before thethumbnail has been retrieved by another user. If this is not the case,the search mechanism described earlier cannot be used since theidentifier is not known to the station which sends out the request.

For example two users exchange a thumbnail of a digital document withoutthe identifier being attributed to that thumbnail. In this example, thesending user takes a photograph with a digital camera and sends athumbnail of that photograph to the camera of the receiving user via ashort-range radio link for example. As a variant, the photograph is sentat the original resolution, but the camera of the receiving user cannotstore that photograph due to a lack of memory space. At that time, thereceiving apparatus generates a thumbnail on the basis of the originalimage received. It may be noted that the thumbnail of the receiving usermay be different from that generated by the camera of the sending usersince the sub-sampling processes are not necessarily the same. The sametype of scenario can also be imagined on the basis of mobile telephonesor any other digital apparatus, including in particular microcomputers(sending out of the thumbnail by email). Similarly, the data (originaland thumbnail) may be taken from apparatuses which cannot be equated tostations of a peer-to-peer communication network since they do not havesufficient storage capacities and/or cannot remain continuouslyconnected to the network. Thus the invention is used when the sendinguser downloads the original data and the thumbnail onto a station andthe receiving user downloads the thumbnail onto another station of thenetwork.

The problem to solve thus consists of associating a unique identifierwith the thumbnail (first data item of a first digital document) and theoriginal digital data (second data item of the first digital document)stored on the station of the sending user and to associate that sameidentifier with the thumbnail (first data item of a second document)stored on the station of the receiving user. That receiving user canthus access all the versions of the digital document on the basis ofthat identifier, according to the search mechanism conventionally usedin peer-to-peer sharing systems.

In other words, the problem consists of synchronizing the two documents(different resolutions and different sources) of the same digitaldocument, that is to say that the same unique identifier is to beattributed to them as soon as those documents are accessible.

Several systems currently exist which describe synchronization ofdigital documents in the context of collaborative editing. These systemsenable editing of a document to be performed remotely, the systemsynchronizing the different modifications made to the document.

The problem is nevertheless different in the case of sharing amulti-resolution document since the versions of the data are no longermodified once shared and the user receives the new version only when hehas requested it.

For example, U.S. Pat. No. 5,949,551 describes a system for high qualityprinting of multi-resolution documents. Further to sending an image onpaper by post, the system digitizes the image so as to create anoriginal digital version of the image and a version at lower resolution(thumbnail). Next, the thumbnail is sent to the client or to anintermediary machine. The client may retrieve that thumbnail from thatintermediary if he specified this at the time of making his order fromthe printing service. The system next calculates a time limit at the endof which the image at full resolution must be sent to the client. Thistime depends on several parameters: time limit imposed by the client,the resource of the communication network. During this period, the fullresolution image is sent by a second means of communication, differentfrom the first means used for sending the thumbnail. If sending was notpossible within the given time, the system detects the problem andreports an item of information to the client.

This system does not require synchronization of the two image versionswhich are generated by the same machine. This is because the sameidentifier is associated with the thumbnail and the original data itemfrom the time of their creation. This identifier is sent to the clientor to the intermediary machine at the same time as the thumbnail. Thisidentifier makes it possible to access the original image which isavailable from the machine which generated that image. Thus the clienthas knowledge of that machine as soon as he receives the thumbnail andthe identifier.

SUMMARY OF THE INVENTION

The present invention provides a solution precisely to this problem ofsynchronization in which the client does not know the machine enablingthe document to be accessed, nor the identifier of the document toshare.

It relates to a digital document system in which a digital document in acommunication network is shared between a plurality of stations, saidsystem comprising:

-   -   a first station having a first digital document comprising a        thumbnail data item and an original data item;    -   a second station having a second digital document comprising a        thumbnail data item; and    -   a center station comprising:        -   calculating means for calculating signatures of the            thumbnail data items of the first and second digital            documents;        -   comparing means for comparing the calculated signatures of            the thumbnail data items; and        -   transmitting means for transmitting information for            accessing the original data item of the first digital            document to the second station according to a result of the            comparison.

The present invention also relates to a method of controlling a centerstation capable of communicating with a plurality of stations sharing adigital document in a communication network, characterized in that itcomprises the following steps:

a) receiving a thumbnail data item comprised in a first station and athumbnail data item comprised in a second station;

b) calculating a signature from each of the received thumbnail dataitems;

c) comparing the calculated signatures of the received thumbnail dataitems, and

d) transmitting information for accessing an original data item relatedto the thumbnail data item to the second station according to a resultof the comparison.

According to one embodiment, the thumbnail data item comprised in thesecond station is generated in the first station.

According to another embodiment, color histograms each based on thethumbnail data items is calculated as the signatures in said calculatingstep.

For example, a comparison is performed based on a difference and athreshold calculated from the thumbnail data items in said comparingstep.

In practise, said communication network is a peer-to-peer network.

For example, the first station is a digital camera apparatus andgenerates the original data item.

The present invention also relates to a method of controlling a stationcapable of sharing a digital document in a communication network,characterized in that it comprises the following steps:

i) generating an original data item;

ii) generating a thumbnail data item from the original data item;

iii) transmitting the thumbnail data item to the other station; and

iv) receiving an access from said other station to the original dataitem based on the thumbnail data item.

The present invention also relates to a method of controlling a stationcapable of sharing a digital document in a communication network,characterized in that it comprises the following steps:

1) receiving a thumbnail data item from other station;

2) transmitting the received thumbnail data item to a center station;

3) receiving, from the center station, information for accessing theoriginal data item related to the thumbnail data item determined basedon the thumbnail data item.

The present invention also relates to a device for accessing a digitaldocument on a communication network, characterized in that it comprisesmeans adapted to implement a method as described above.

The present invention relates to a computer program stored on aninformation carrier, said program comprising instructions enabling theimplementation of a processing method as described above, when thisprogram is loaded and run by a computer system.

BRIEF DESCRIPTION OF THE DRAWINGS

Other features and advantages of the invention will appear in the lightof the following detailed description and drawings in which:

FIG. 1A shows the general architecture of a system for sharing digitaldocuments according to a first embodiment;

FIG. 1B is a block diagram illustrating the general architecture of adevice for sharing digital data implementing the invention according toa second embodiment;

FIG. 2A shows a device implementing the part of the invention dedicatedto a central server according to the first embodiment;

FIG. 2B is a diagram of the programmable apparatus implementing the partof the invention dedicated to the central server according to the secondembodiment;

FIG. 3A shows block diagrams illustrating the information stored intables of the central server according to the first embodiment;

FIG. 3B is a diagram of the organization of the information stored onthe central server according to the second embodiment;

FIG. 4A shows a device implementing the part of the invention dedicatedto a user station according to the first embodiment;

FIG. 4B is a diagram of the architecture of the stations according tothe second embodiment;

FIG. 5 shows block diagrams illustrating the organization of the datastored in tables of a user station;

FIG. 6 shows a block diagram illustrating the creation of a requestcontaining an identifier, from a user station;

FIG. 7 shows a block diagram illustrating the delivery of a document bya user station according to an identifier;

FIG. 8 shows a block diagram illustrating the mechanism of searching fora digital document on the basis of an identifier;

FIG. 9A shows a block diagram illustrating the creation of a requestcontaining a thumbnail, from a user station according to the firstembodiment;

FIG. 9B is a diagram of the part of the invention dedicated to a thinstation according to the second embodiment;

FIGS. 10A and 11A show block diagrams illustrating the mechanism ofsearching for a digital document on the basis of a thumbnail accordingto the first embodiment;

FIG. 10B is a diagram of the method of receiving a message sent inaccordance with FIG. 9B according to the second embodiment;

FIG. 1lB is a diagram of the steps illustrating the part of theinvention dedicated to the reference station according to the secondembodiment;

FIG. 12A shows a block diagram illustrating the mechanism for sharing anew document according to the first embodiment;

FIG. 13A illustrates the general steps of the method of sharing adigital document of photograph type in accordance with the inventionaccording to the first embodiment; and

FIG. 13B is a diagram of the steps of the method of sharing a documentof photograph type in accordance with the invention according to thesecond embodiment.

DETAILED DESCRIPTION OF THE INVENTION

With reference to FIG. 1A, the general architecture of a system forsharing digital documents implementing the invention is composed of acentral server 100A and two stations 101A and 102A. These differententities are connected to each other by a communication network 104Asuch as the Internet.

The invention concerns a mechanism for searching for a digital documentDD to share. For this, an index table, which makes it possible to accessa shared document on the basis of its identifier Id, is advantageouslyused. This index table may be distributed or centralized. The preferredembodiment for implementation of the invention will be described on thebasis of a search mechanism using a centralized table and stored on acentral server.

Moreover, as explained earlier, the invention described here assumesthat the original data item HR and a thumbnail TH are stored on a firststation 101A and that another thumbnail TH2 calculated on the basis ofthe original data item HR2 is stored on a second station 102A.

It will also become apparent in what follows that the matching mechanismrequires a systematic analysis of each entry of the index table. Such ananalysis is unrealistic when the number of entries in that table becomesenormous (several thousands or even millions of entries). A variant ofthis algorithm consists of limiting the analysis to the entries whichcorrespond to the data shared by the sending user or to the data servedby a reference station attached to that sending user.

For this, on sending that original data item HR1 or the thumbnail TH1 toa receiving user 102A, the sending user 101A includes an item ofinformation for it to be identified. For example, the identifier of thatsending user can be hidden in the header of the data item or of thedocument to share.

In what follows, FIGS. 6, 7, 8 and 12A explain the operation of aconventional system for searching for shared documents on the basis oftheir identifiers.

The role of the central server 100A is to centralize and temporarilystore a certain number of items of information which will be describedin more detail below. The central server 100A, which for example may bea microcomputer or a workstation, is continuously connected to thepeer-to-peer network. Such a machine is described with reference toFIGS. 2A and 3A.

Stations 101A and 102A may for example be a microcomputer or aworkstation. These apparatuses fully play the role of a station i.e. therole of client and of server. For this, they have sufficient memory andcalculation capacities to implement the part of the invention dedicatedto them.

The apparatus 100A comprises a communication bus 209A to which there areconnected:

-   -   a central processing unit 202A (microprocessor) which controls        the exchanges between the various components of the apparatus,    -   a read only memory 201A, able to contain the programs,    -   a random access memory 205A comprising registers 208A adapted to        store variables and parameters created and modified during the        execution of the programs, with reference to FIGS. 9A, 10A and        11A.    -   a hard disk 203A able to contain the aforementioned programs,    -   a disk drive 211A adapted to receive a diskette 210A and to read        or write thereon data processed or to be processed according to        the invention,    -   a communication interface 206A connected to a communication        network 104A, for example the Internet, the interface being able        to transmit and receive data.

The communication bus affords communication and interoperability betweenthe different elements included in the apparatus 100A or connected toit. The representation of the bus is non-limiting and, in particular,the central processing unit is capable of communicating instructions toany element of the apparatus 100A directly or by means of anotherelement of the apparatus 100A.

The executable code of each program enabling the programmable apparatusto implement the methods according to the invention may be stored, forexample, on the hard disk 203A or in read only memory 201A.

According to a variant, the diskette 210A can contain data as well asthe executable code of the aforementioned programs which, once read bythe apparatus 100A, are stored on the hard disk 203A.

As a second variant, the executable code of the programs can be receivedby the intermediary of the communication network 104A, via the interface206A, in order to be stored in an identical fashion to that describedpreviously.

The diskettes can be replaced by any information carrier such as acompact disc (CD-ROM) or a memory card. Generally, an informationstorage means, which can be read by a computer or microprocessor,integrated or not into the apparatus, and which may possibly beremovable, is adapted to store one or more programs whose executionpermits the implementation of the method according to the invention.

More generally, the program or programs may be loaded into one of thestorage means of the apparatus 100A before being executed.

The central processing unit 202A controls and directs the execution ofthe instructions or portions of software code of the program or programsaccording to the invention, the instructions being stored on the harddisk 203A or the read only memory 201A or in the other aforementionedstorage elements. On powering up, the program or programs which arestored in a non-volatile memory, for example the hard disk 203A or theROM 201A, are transferred into the RAM 205A, which then contains theexecutable code of the program or programs according to the invention,as well as registers for storing the variables and parameters necessaryfor implementation of the invention.

It should be noted that the communication apparatus comprising thedevice according to the invention can also be a programmed apparatus.

This apparatus then contains the code of the computer program orprograms, for example fixed in an application specific integratedcircuit (ASIC).

With reference to FIG. 3A, the organization of the information stored onthe central server 100A is described.

According to a preferred embodiment of the invention, the informationconcerning the shared documents or data, the requests awaiting response,and the information on the users and the stations will be centralized onthe central server 100A. Nevertheless, the invention may be applied to asystem which distributes this information (or part of it) to thestations 102A or others (reference station not shown).

The information stored on the central server is grouped into a look-uptable, for example subdivided into four tables: a table of the users, atable of the stations, a table of the indices and a table of therequests.

Any user who wishes to share a document or data item is preferablyregistered with the central server for this, the user connects to thecentral server via a Web service or via a graphical applicationdedicated to the sharing system.

According to a preferred embodiment, the Web interface is used. Thecentral server sends a form which the user fills in using a login nameand a password.

According to a variant, during this procedure, the central serverregisters the station from which the user is connected, as being itsreference station.

Of course, the user may access this registration information so as tomodify, for example, its reference station. All this information isstored in the table of users. Furthermore the central server associatesa unique identifier with the newly registered user.

The table of stations (IP address, etc.) contains the information makingit possible to connect to the station on the basis of its identifier.This table is updated at each connection or disconnection of aregistered station. This status of connection or disconnection is, amongother things, one of the key conditions which serve to determine whethera data item may be served or not.

The index table is empty when the system starts up. This table comprisesan entry composed of four fields for each version of a document toshare:

-   -   the unique identifier of the shared document,    -   the identifier of the version (first or second data item) of the        shared document,    -   a list of identifiers of stations which serve the version of the        document,    -   a local access path for the case in which the version of the        document is stored on the central server.

Two identifiers are associated with each shared document: one, unique,to identify the document, and another to identify the version of thatdocument (original version, thumbnail, etc.). The list of stations whichserve a remote document is stored as well as the local path for accessto that data item.

It should be noted that this index table is updated as soon as a newthumbnail is shared, as soon as a station no longer serves a version ofa document and as soon as a station has just retrieved a new version ofa shared document.

This centralized index table makes it possible to implement theconventional search mechanism in a peer-to-peer network described withreference to FIGS. 6, 7 and 8.

The table of requests temporarily stores the requests which cannot beserved. The thumbnail, the identifier of the version of the documentwhich is searched for and the identifier of the station which sent therequest are stored in that table of requests.

With reference to FIG. 4A, a programmable apparatus implementing thepart of the invention dedicated to the stations 101A and 102A isdescribed. This part of the invention is described with reference toFIG. 9A.

Apparatuses 101A and 102A comprise a communication bus 409A to whichthere are connected:

-   -   a central processing unit 402A (microprocessor) which controls        the exchanges between the various components of the apparatus,    -   a read only memory 401A, able to contain the programs,    -   a random access memory 412A comprising registers 413A adapted to        store variables and parameters created and modified during the        execution of the programs, with reference to FIGS. 9A, 10A and        11A.    -   a screen 403A for displaying data and/or serving as a graphical        interface with the user, who will be able to interact with the        programs according to the invention, using a keyboard 404A or        any other means such as a pointing device (not shown), for        example a mouse or an optical stylus,    -   a hard disk 405A able to contain the aforementioned programs,    -   a disk drive 406A adapted to receive a diskette 407A and to read        or write thereon data processed or to be processed according to        the invention,    -   a communication interface 410A connected to a communication        network 411A, for example the Internet, the interface being able        to transmit and receive data.

The communication bus allows communication and interoperability betweenthe different elements included in the microcomputer 101A, 102A orconnected to it. The representation of the bus is non-limiting and, inparticular, the central processing unit is able to communicateinstructions to any element of the microcomputer 101A, 102A directly orby means of another element of that microcomputer.

The executable code of each program enabling the programmable apparatusto implement the processes according to the invention may be stored, forexample, on the hard disk 405A or in read only memory 401A.

According to a variant, the diskette 407A can contain data as well asthe executable code of the aforementioned programs which, once read bythe apparatus 101A, 102A, are stored on the hard disk 405A.

As a second variant, the executable code of the programs can be receivedby the intermediary of the communication network 411A, via the interface410A, in order to be stored in an identical fashion to that describedpreviously.

The diskettes can be replaced by any information carrier such as acompact disc (CD-ROM) or a memory card. Generally, an informationstorage means, which can be read by a computer or microprocessor,integrated or not into the apparatus, and which may possibly beremovable, is adapted to store one or more programs whose executionpermits the implementation of the method according to the invention.

More generally, the program or programs may be loaded into one of thestorage means of the apparatus 101A, 102A before being executed.

The central processing unit 402A controls and directs the execution ofthe instructions or portions of software code of the program or programsaccording to the invention, the instructions being stored on the harddisk 405A or the read only memory 401A or in the other aforementionedstorage elements. On powering up, the program or programs which arestored in a non-volatile memory, for example the hard disk 405A or theROM memory 401A, are transferred into the random access memory RAM 412A,which then contains the executable code of the program or programsaccording to the invention, as well as registers for storing thevariables and parameters necessary for implementation of the invention.

It should be noted that the communication apparatus comprising thedevice according to the invention can also be a programmed apparatus.This apparatus then contains the code of the computer program orprograms for example fixed in an application specific integrated circuit(ASIC).

With reference to FIG. 5, the organization of the information stored onthe stations 101A and 102A has been described.

The documents table enables a version of a document stored on thestation to be accessed on the basis of the version and documentidentifiers. This table is used when the station receives a request inwhich those identifiers are specified. The response to a request isdescribed with reference to FIG. 8.

The thumbnails table makes it possible to retrieve the version anddocument identifiers locally on the basis of a selection made by theuser via a graphical interface. This process is described with referenceto FIG. 6.

With reference to FIG. 6, the method is described which makes itpossible to request a version of a shared document.

The method commences with step S600 during which a user selects thedocument to retrieve, for example an image. For example, that selectionmay be made via a graphical interface which displays a set of thumbnailson the screen of the station. Each of these thumbnails corresponds to ashared document. The user selects one of these thumbnails and specifiesthe version of the document which he wishes to retrieve. The processinterprets this information and generates a string of characters whichuniquely identifies the version of that document in the table ofthumbnails.

At step S601, the method retrieves the identifiers corresponding to thatstring and sends them to the central server (S602).

With reference to FIG. 7, the method is described that makes it possiblefor a station to serve a version of a document. Further to a requestsent by a requesting station (S700), the process extracts theidentifiers (S701) of that request and extracts the access path of thetable of data (S703). Step S704 consists of sending the data to therequesting station.

With reference to FIG. 8, the mechanism of searching for a digitaldocument is described. The method commences further to a request sent bya user from a station (S602). This request is composed of twoidentifiers defining the version of the data sought and the identifierof the station which sent the request (so as to be able to send theresponse to that station).

On reception of that request (S800), the central server extracts theidentifiers of the document to share (S801) and searches for the entryof the index table which corresponds to those two identifiers (S802).Where this document is available locally (“access path” field filled in)(S803), the central server sends the document to the station (S804) andthe method stops. In the opposite case, the list of the identifiers ofthe stations is extracted from the entry of the index table (S805).Next, the method retrieves the connection information of each of thosestations from the table of stations (S806-S809). It may be recalled thatall the stations referenced in that table are connected to the network.As soon as one of them disconnects, it informs the central server whichupdates the table. The same applies for any new connection or as soon asthe connection information of a station changes. This stationinformation is temporarily stored in a list L (S810). If that list isempty (no station connected) (S812), the request is placed on standbyuntil one of them connects (S813). In the opposite case, the centralserver sends the list L to the requesting station (S814).

When the station which sent the request receives the response, a processanalyzes whether the response contains the requested document. If thisis the case the search method terminates. If this is not the case, thestation sends the request to each of the stations in turn of the list Lextracted on the basis of the response.

The method stops when one of the stations serves the requested document.

With reference to FIG. 9A, the process is described which makes itpossible to request a version of a document to share. Note that at thattime, the requesting station does not possess the identifier Id1 of thedocument to share DD1, HR1 but only the thumbnail TH2 of that documentto share and the identifier of the user who provided him with thatthumbnail TH2.

The method commences with step S900A during which a user selects thethumbnail TH2 to retrieve. For example, that selection may be made via agraphical interface which displays a set of thumbnails on the screen ofthe station. Each of these thumbnails TH corresponds to a shareddocument DD. The user selects one of these thumbnails and specifies theversion of the document which he wishes to retrieve (S901A). Step S902Asends those thumbnails TH2 and the version identifiers to a stationcapable of serving it, for example, to the central server.

With reference to FIGS. 10A and 11A, the method is described whichenables a station to find the identifier Id1 of the requested documentDD1 on the basis of its thumbnail TH1. According to a preferredembodiment, this station is the central server. Nevertheless, thedifferent methods described below constituting the method may beexecuted on different stations, for example station 101A.

Further to a request sent out by a requesting station (S1000A), theprocess extracts the thumbnail TH2, the version identifier of therequested document and the user identifier (S1001A) of that request(according to a preferred embodiment) and calculates a signature forthat thumbnail TH2 (S1002A). According to a preferred embodiment of theinvention, this signature is a colors histogram calculated on the basisof the thumbnail TH2.

Steps S1003A-S1009A describe the mechanism for matching that thumbnailTH2 with the stored thumbnails TH1 of the documents to share (referencedin the table of the indices).

Step S1003A selects the entries of the table of the indices which weregenerated further to sharing of data coming from the user whoseidentifier is the one contained in the request. Where that identifier isnot present in the request, all the entries of the table are considered.

Furthermore, only the entries corresponding to the version identifier,contained in the request, are considered.

Steps S1004A-S1009A describe the mechanism for matching between thesignature S of the thumbnail TH2 received and the signature coming fromthe thumbnails TH1 referenced by the selected entries of the table ofthe indices. For this, a metric is defined between two signatures. Inthe case of colors histograms, a distance defined in M. J. Swain, D. H.Ballard, “Color Indexing”, Inter. Journal of Comp. Vision, 7:1, pp11-32, 1991. This distance has the value 1 if both signatures are equaland 0 otherwise. If the signature S is greater than a threshold (between0 and 1), step S1007A is followed by the step S1008A which extracts theidentifier of the data item of the entry in the corresponding indextable. Of course, if the entry does not exist, the request is placed onstandby. As soon as a new entry is generated, the process tests whetherthat new entry comprises the version and user identifiers contained inthe request such that the process of FIG. 10A can continue with stepS1011A of FIG. 11A. This step S1011A tests whether the version of thedocument is available on the central server. Where this document isavailable locally (“access path” field filled in), the central serversends the data item to the requesting station (S1012A) and the methodstops. In the opposite case, the list of the identifiers of the stationsis extracted from the entry of the index table (S1013A). Next, theprocess retrieves the connection information of each of these stationsfrom the table of stations (S1014A-S1019S). It may be recalled that allthe stations referenced in that table are connected to the network. Assoon as one of them disconnects, it informs the central server whichupdates the table. The same applies for any new connection or as soon asthe connection information of a station changes. This stationinformation is temporarily stored in a list L (S1017A). If that list isempty (no station connected) (S1020A), the request is placed on standbyuntil one of them connects (S1021A). In the opposite case, the centralserver sends the list L to the requesting station (S1022A).

When the station which sent the request receives the response, a processanalyzes whether the response contains the requested data item. If thisis the case the search method terminates. If this is not the case, thestation sends the request to each of the stations in turn of the list Lextracted on the basis of the response. The method stops when one of thestations serves the requested document or data item.

Two variants may be added to this search mechanism. According to thefirst variant, the central server only sends the information concerninga sole station. According to the second variant, the central serversends an ordered list of those stations. The ordering is based on theconnection capacities of those stations (bandwidth) or on the presencetime of that station (connection time to the network evaluated for aperiod of time).

With reference to FIG. 12A, the sharing of a document from a station isdescribed. This sharing mechanism is used in a peer-to-peer sharingsystem comprising (or not comprising) the invention.

The document to share is stored locally on the station. First of all,the sending user 101A is authenticated at the central server by himstating his login and password (S1100A). The sending user 101A nextselects the original data item or items to share (S1101A). For each ofthem, the process calculates a thumbnail TH1 (S1103A). The thumbnail TH1is stored locally. The method also associates two identifiers Id (dataitem and version) with each of the thumbnails TH1 (S1104A). The table ofthe thumbnails TH1 is updated (S1105A). Finally, a message is sent tothe central server (S1107A). This message is composed of the identifiersand of the thumbnail TH1 of each of the documents DD to share.

A variant consists of sending only the thumbnail TH1 to the centralserver which calculates the identifiers Id. In this case, theidentifiers Id are sent back the station 102A which sent out therequest, once they have been generated by the central server. Thestation stores these identifiers in the table of the thumbnails TH.

When the central server receives the message of step S1107A, a processextracts the list of the identifiers (if they have been sent) and of thethumbnails. This step of course associates the data item and versionidentifiers if they have not been received. The thumbnails, their accesspaths and the identifiers are stored locally and the index table isupdated. For this, a new entry is created for each version of thedocument to share. Each of these entries comprises the identifier of thedocument, the identifier of the version and the local access pathenabling the thumbnail to be accessed if the entry corresponds to athumbnail. If the entry corresponds to an original data item, the fieldis not referenced.

With reference to FIGS. 1A and 13A, the general steps are described ofthe sharing method according to the invention.

For example, a first sending user P1 exchanges a first data item TH1 ofa document DD1 with a second receiving user P2. This action isillustrated by action F1. The exchange is free and uses no function inparticular. For example, the sending user P1 takes a photograph with adigital camera and sends a thumbnail TH1 of that photograph to thecamera of the receiving user P2 via a short-range radio link. As avariant, the photograph is sent at the original resolution HR1, but thecamera of the receiving user cannot store that photograph due to a lackof memory space. At that time, the receiving apparatus generates athumbnail TH2 on the basis of the original image received. It may benoted that the thumbnail of the receiving user P2 may be different fromthat generated by the camera of the sending user P1 since thesub-sampling processes are not necessarily the same.

It may also be that the camera of the receiving user P2 accepts theoriginal image on his camera; the latter is then saved on the camera andcorresponds to what is termed a second data item HR2 of a second digitaldocument DD2. The obtainment of the corresponding thumbnail TH2 can thenbe made on station 102A of the receiving user P2.

The same type of scenario can also be imagined on the basis of a mobiletelephone or any other digital apparatus, including in particularmicrocomputers (sending out of the thumbnail by email).

In our example, the receiving user P2 wishes to access the second dataitem HR1 of the first document DD1 further to that exchange. The seconddata item HR1 is for example the original data item at full resolutionof the first document DD1 whereas the first data item is a thumbnail TH1of lower resolution, which corresponds to a first edition relationshipof hierarchical type between the first and second data items of thefirst digital document to share according to the invention.

The sending user P1 loads onto his station 101A the first TH1 and secondHR1 data items of the first digital document DD1 (action F2). The firstdigital document DD1 is identified by a chosen identifier Id1. This iscarried out either directly by the station 101A, or further to anexchange between the station 101A and the server station 100A, asillustrated by the arrow F4.

The receiving user P2 loads onto his station 102A the data item thusexchanged which corresponds here to a first data item TH2 of a seconddigital document DD2 (action F3), said first and second digitaldocuments DD1 and DD2 being linked to each other according to a secondchosen temporal and geographical edition relationship.

The receiving user P2 sends out a request to the peer-to-peercommunication network according to the invention to obtain theidentifier Id1 of document DD1 on the basis of the first data item(thumbnail) TH2 of the second document DD2. The request is sent to atleast one station capable of serving the document DD1, here at theserver 100A, station 101A or else a reference station 103A designated bythe sending user (action F5). The request comprises at least the seconddata item TH2.

At station 101, the reference station 103A or the server 100A, thesecond data item TH2 is received and the first data items TH1 and TH2 ofthe first and second digital documents so obtained are compared.

In case of positive comparison, the identifier Id1 is attributed to thesecond digital document DD2.

At station 102A, the second data item HR1 of the first digital documentDD1 is accessed from the second digital document DD2 so identified.

With reference to FIG. 1B, and according to a second embodiment of thepresent invention, a device for sharing digital data implementing theinvention is composed of a central server 100B, a thin station 101B, areference station 102B and a requesting station (this station is the onefrom which a user requests a data item on the basis of it identifier).These different entities are connected by a communication network 104Bsuch as the Internet.

The described invention does not directly concern the mechanism forsearching. Thus the index table which enables a shared document to beaccessed on the basis of its identifier may be distributed orcentralized. The preferred embodiment for implementation of theinvention will be described on the basis of a search mechanism using acentralized table.

The role of the central server 100B is to centralize and temporarilystore a certain number of items of information described later. Thismachine, which for example may be a micro-computer or a workstation, ispermanently connected to the peer-to-peer network. It is described inmore detail with reference to FIGS. 2B and 3B.

The thin station 101B may for example be a micro-computer, a mobilephone, a personal digital assistant PDA or any other apparatus havingwired or wireless communication means. In practice, this station doesnot require high storage or calculation capacities.

Finally, stations 102B and 103B may for example be a microcomputer or aworkstation. These apparatuses fully play the role of a station i.e. therole of client and of server. For this, they have sufficient memory andcalculation capacities to implement the part of the invention dedicatedto them.

With reference to FIG. 2B, a programmable apparatus implementing thepart of the invention dedicated to the central server 100B is described.This part of the invention will be described with reference to FIGS. 8and 10B.

The apparatus 100B comprises a communication bus 209B to which there areconnected:

-   -   a central processing unit 202B (microprocessor), which controls        the exchanges between the various components of the apparatus,    -   a read only memory 201B, able to contain the programs,    -   a random access memory 205B comprising registers 208B adapted to        record variables and parameters created and modified during the        execution of the programs, in particular the counters i,p, and        the list L with reference to FIG. 8,    -   a hard disk 203B able to contain the aforementioned programs,    -   a disk drive 211B adapted to receive a diskette 210B and to read        or write thereon data processed or to be processed according to        the invention,    -   a communication interface 206B connected to a communication        network 104B, for example the Internet, the interface being able        to transmit and receive data.

The communication bus affords communication and interoperability betweenthe different elements included in the apparatus 100B or connected toit. The representation of the bus is non-limiting and, in particular,the central processing unit is capable of communicating instructions toany element of the apparatus 100B directly or by means of anotherelement of the apparatus 100B.

The executable code of each program enabling the programmable apparatusto implement the processes according to the invention may be stored, forexample, on the hard disk 203B or in read only memory 201B.

According to a variant, the diskette 210B can contain data as well asthe executable code of the aforementioned programs which, once read bythe apparatus 100B, will be stored on the hard disk 203B.

As a second variant, the executable code of the programs can be receivedby the intermediary of the communication network 104B, via the interface206B, in order to be stored in an identical fashion to that describedpreviously.

The diskettes can be replaced by any information carrier such as acompact disc (CD-ROM) or a memory card. Generally, an informationstorage means, which can be read by a computer or microprocessor,integrated or not into the apparatus, and which may possibly beremovable, is adapted to store one or more programs whose executionpermits the implementation of the method according to the invention.

More generally, the program or programs may be loaded into one of thestorage means of the apparatus 100B before being executed.

The central processing unit 202B controls and directs the execution ofthe instructions or portions of software code of the program or programsaccording to the invention, the instructions being stored on the harddisk 203B or the read only memory 201 B or in the other aforementionedstorage elements. On powering up, the program or programs which arestored in a non-volatile memory, for example the hard disk 203B or theROM 201B, are transferred into the RAM 205B, which then contains theexecutable code of the program or programs according to the invention,as well as registers for storing the variables and parameters necessaryfor implementation of the invention.

It should be noted that the communication apparatus comprising thedevice according to the invention can also be a programmed apparatus.This apparatus then contains the code of the computer program orprograms, for example, fixed in an application specific integratedcircuit (ASIC).

With reference to FIG. 3B, the organization of the information stored onthe central server 100B has been described.

According to a preferred embodiment of the invention, the informationconcerning the shared documents, and the information on the users andthe stations will be centralized on the central server 100B.Nevertheless, the invention may be applied to a system which distributesthis information (or part of it) to the stations 102B or 103B.

The information stored on the central server is grouped into a look-uptable which may be subdivided into three tables:

-   -   a first table termed “Table of users”;    -   a second table termed “Table of stations”;    -   a third table termed “Table of indices”;

Any user who wishes to share a document is registered with the centralserver. For this, the user connects to the central server via a Webservice or via a graphical application dedicated to the sharing system.According to a preferred embodiment, the Web interface is used. Thecentral server sends a form which the user fills in using a login nameand a password. Furthermore, during this procedure, the central serverregisters the station from which the user is connected as being itsreference station (this station having to play the role of data server).Of course, the user may access this registration information so as tomodify, for example, its reference station. All this information isstored in the table of users. Furthermore the central server associatesa unique identifier with the newly registered user.

The table of stations (IP address, etc.) contains the information makingit possible to connect to the station on the basis of its identifier.This table is updated at each connection or disconnection of aregistered station. This status of connection or disconnection is, amongother things, one of the key conditions which serves to determinewhether a data item may be served or not.

It may also be noted that only the stations in their own right areregistered in that table.

In what follows, it will not be specified whether a station is thin ornot. By default, when a station is referred to, it will be implicit thatthe station plays the role of client and server.

The fact of separating the registrations of the users from those of themachines makes it possible for each user to access the data sharingsystem from any station.

The index table is empty when the system starts up. This table comprisesan entry composed of four fields for each version of a shared item ofdata:

-   -   the unique identifier of the shared document,    -   the identifier of the version (first or second data item) of the        shared document,    -   a list of identifiers of stations connected which serve the        version of the document,    -   a local access path for the case in which the version of the        document is stored on the central server.

Two identifiers are associated with each shared document: one, unique,to identify the document, and another to identify the version of thatdocument (original version, thumbnail, etc.).

It should be noted that this index table is updated:

-   -   when a thumbnail is shared,    -   when a post no longer serves a version of a document,    -   when a station has just retrieved a new version (other than the        thumbnail) of a shared document.

This centralized index table makes it possible to implement theconventional search mechanism in a peer-to-peer network described byFIGS. 6, 7 and 8.

With reference to FIG. 4B, a programmable apparatus implementing thepart of the invention dedicated to the thin station 101A and to thestations 102A and 103A is described. This part of the invention is alsodescribed with reference to FIGS. 6, 9B and 11B.

The apparatus 101B, 102B or 103B comprises a communication bus 409B towhich there are connected:

-   -   a central processing unit 402B (microprocessor), which controls        the exchanges between the various components of the apparatus,    -   a read only memory 401B, able to contain the programs,    -   a random access memory 412B comprising registers 413B adapted to        record variables and parameters created and modified during the        execution of the programs, in particular the counters i,j, and        the variables I and J, with reference to FIGS. 9B and 11B.    -   a screen 403B for displaying data and/or serving as a graphical        interface with the user, who will be able to interact with the        programs according to the invention, using a keyboard 404B or        any other means such as a pointing device, for example a mouse        or an optical stylus,    -   a hard disk 405B able to contain the aforementioned programs,    -   a disk drive 406B adapted to receive a diskette 407B and to read        or write thereon data processed or to be processed according to        the invention,    -   a communication interface 410B connected to a communication        network 411A, for example the Internet, the interface being able        to transmit and receive data.

The communication bus allows communication and interoperability betweenthe different elements included in the microcomputer 101B, 102B or 103Bor connected to it. The representation of the bus is non-limiting and,in particular, the central processing unit is able to communicateinstructions to any element of the microcomputer 101B, 102B or 103Bdirectly or by means of another element of that microcomputer.

The executable code of each program enabling the programmable apparatusto implement the methods according to the invention may be stored, forexample, on the hard disk 405B or in read only memory 401B.

According to a variant, the diskette 407B can contain data as well asthe executable code of the aforementioned programs which, once read bythe apparatus 101B, 102B or 103B, is stored on the hard disk 405B.

As a second variant, the executable code of the programs can be receivedby the intermediary of the communication network 411B, via the interface410B, in order to be stored in an identical fashion to that describedpreviously.

The diskettes can be replaced by any information carrier such as acompact disc (CD-ROM) or a memory card. Generally, an informationstorage means, which can be read by a computer or microprocessor,integrated or not into the apparatus, and which may possibly beremovable, is adapted to store one or more programs whose executionpermits the implementation of the method according to the invention.

More generally, the program or programs may be loaded into one of thestorage means of the apparatus 101B, 102B or 103B before being executed.

The central processing unit 402B controls and directs the execution ofthe instructions or portions of software code of the program or programsaccording to the invention, the instructions being stored on the harddisk 405B or the read only memory 401B or in the other aforementionedstorage elements. On powering up, the program or programs which arestored in a non-volatile memory, for example the hard disk 405B or theROM 401B, are transferred into the RAM 412B, which then contains theexecutable code of the program or programs according to the invention,as well as registers for storing the variables and parameters necessaryfor implementation of the invention.

It should be noted that the communication apparatus comprising thedevice according to the invention can also be a programmed apparatus.This apparatus then contains the code of the computer program orprograms for example fixed in an application specific integrated circuit(ASIC).

With reference to FIG. 5, the organization of the information stored onthe stations 102B and 103B is described, that is to say on a stationhaving the role of server of shared data.

The table of data enables a version of a data item stored on the stationto be accessed on the basis of the version and data identifiers. Thistable is used when the station receives a request in which thoseidentifiers are specified. The response to a request is described withreference to FIG. 7. This table is not present on the thin stationswhich do not serve data.

The thumbnails table makes it possible to retrieve the version anddocument (data) identifiers locally on the basis of a selection made bythe user via a graphical interface. This process is described withreference to FIG. 6.

With reference to FIG. 6, the method commonly used has been describedwhich makes it possible to request a version of a shared document on thebasis of its identifiers. The method commences with step S600 duringwhich a user selects the image to retrieve. For example, that selectionmay be made via a graphical interface which displays a set of thumbnailson the screen of the station. Each of these thumbnails corresponds to ashared document. The user selects one of these thumbnails and specifiesthe version of that data item which he wishes to retrieve. The methodinterprets this information and generates a string of characters whichuniquely identifies the version of that document in the table ofthumbnails. Step S601 retrieves the identifiers corresponding to thatstring and sends them to the central server (S602).

With reference to FIG. 7, the method commonly used has been describedwhich makes it possible for a station to serve a version of a document.Further to a request sent by a requested station (S700), the processextracts the identifiers (S701) of that request and extracts the accesspath of the table of data (S702). Step S703 consists of sending the datato the requesting station.

With reference to FIG. 8, the mechanism searching for a digital documentbased on identifiers is described (the mechanism used in most sharingsystems comprising a centralized table of indices). The method commencesfurther to a request sent by a user from a station (S602). This requestis composed of two identifiers defining the version of the documentsought and the identifier of the station which sent the request (so asto be able to send the response to that station).

On reception of that request (S800), the central server extracts theidentifiers of the document (S801) and searches for the entry of theindex table which corresponds to those two identifiers (S802). Ofcourse, if the entry does not exist, the request is placed on standby.As soon as a new entry is generated, the method tests whether that newentry comprises the document and version identifiers of the request suchthat the method continues with step S803. Where this data item isavailable locally (“access path” field filled in) (S803), the centralserver sends the data item to the station (S804) and the method stops.In the opposite case, the list of the identifiers of the stations isextracted from the entry of the index table (S805). Next, the methodretrieves the connection information of each of those stations from thetable of stations (S806-S809). It may be recalled that all the stationsreferenced in that table are connected to the network. As soon as one ofthem disconnects, it informs the central server which updates the table.The same applies for any new connection or as soon as the connectioninformation of a station changes. This station information istemporarily stored in a list L (S810). If that list is empty (no stationconnected) (S812), the request is placed on standby until one of themconnects (S813). In the opposite case, the central server sends the listL to the requesting station (S814).

When the station which sent the request receives the response, a methodanalyzes whether the response contains the requested document. If thisis the case the search method terminates. If this is not the case, thestation sends a request (comprising the two identifiers and theidentifier of the requesting station) to each of the stations in turn ofthe list L extracted on the basis of the response. The method stops whenone of the stations serves the requested data.

Two variants may be added to this search mechanism.

1) The central server only sends the information concerning only asingle station.

2) The central server sends an ordered list of those stations. Theordering is based on the connection capacities of those stations(bandwidth) or on the presence time of that station (connection time tothe network evaluated for a period of time).

With reference to FIG. 9B, the part of the invention dedicated to a thinstation has been described. The method consists of sharing a document.This document is stored locally on the station. First of all, the useris authenticated at the central server by him stating his login andpassword (S900B). The user next selects the original data item or itemsto share (S901B) For each of them, the method calculates a thumbnail(S903B). The thumbnail is stored locally. Finally, the thumbnails aresent to the central server (S906B).

With reference to FIG. 10B the method of receiving a message sent inaccordance with FIG. 9B is described (S906B).

On the basis of the message received (S1000B), the central serverextracts the list of the thumbnails (S1001B). The thumbnails are storedlocally (S1002B). An identifier is associated with each of thesethumbnails (S1003B) and the index table is updated (S1004B). For this, anew entry is created in that table for each of the thumbnails received.Each of these entries comprises the identifier of the document, theidentifier of the version and the local access path enabling thethumbnail to be accessed. Next, from the table of users, the centralserver extracts the identifier of the reference station of the user whosent the message (S1005B). The user thus serving information designatingthe reference station. Finally, a new message is created and sent tothat reference station (S1006B). This message contains the thumbnailsand identifiers of all the thumbnails received by the central server.

With reference to FIG. 11B, the part of the invention dedicated to thethin station has been described. This part consists of synchronizing theoriginal data (not yet accessible on the network) with the thumbnailsshared and referenced in the index table. It may be recalled that thereference station received the thumbnails and the identifiers of theimages newly shared from the central server. The number of thesethumbnails is J.

The user commences by being authenticated at the central server(S1100B). Next he selects the original data stored on the station. Itmay be noted that if that data was created from a thin station (mobilephone, or any other apparatus), that original data is loaded on thereference station in a predefined folder, for example, at the time ofthe installation of the invention on that station (S1101B). Furthermore,it is possible for that data not to correspond to the thumbnailsreceived. At that moment, the method described below is put on standbyuntil other data is loaded onto the station. For reasons of clarity, inwhat follows it is considered that each thumbnail may be matched with aloaded data item, this in no way limiting the invention.

For each of the J thumbnails received, the method calculates a data itemcharacteristic of the content of that data item termed in what followsthe signature S (S1102B). For example, in the case of images, a colorhistogram is calculated on the basis of the thumbnail.

For each of the I original data items loaded, the method also calculatesthat signature (S1104B). It may be noted that, when the signature is acolor histogram, the signature is extracted on the basis of the originalimage reduced to the resolution of the thumbnail.

This signature is next compared to each of the J signatures associatedwith the thumbnails received (S1106B). For this, a metric is definedbetween two signatures i and j.

In the case of color histograms, a distance defined in M. J. Swain, D.H. Ballard, “Color Indexing”, Inter. Journal of Comp. Vision, 7:1, pp11-32, 1991 may for example be used. This distance has the value 1 ifboth signatures are equal and 0 otherwise. For intermediate values, ifthe distance is greater than a threshold, step S1106B is followed bystep S1107B which associates the data identifier matching data item jwith the current original data item i. As a variant, the method may becaused to request a confirmation of matching between an original dataitem and two thumbnails in case the decision could not be taken on thebasis of the values of that distance.

Once that method of matching has terminated, that is to say that eachthumbnail has been fitted with an original data item, the station sendsthe central server a message comprising the list of the identifiers(document and version identifiers) and the identifier of the referencestation (S1113B). In this manner, the central server updates the tableof indices by adding new entries to that table. Thus, the central serveris informed about the fact that a new station can serve original dataitems.

With reference to FIGS. 1B and 13B, the general steps have beendescribed of the method of sharing a document of photograph type inaccordance with the invention:

For example, further to some photographs having been taken with a cameraAPI, a sending user wishes to share those photographs (or some of them)from a thin station 101B (typically a mobile telephone TM1).

The thin station may also be a computer OR1 which does not belong tohim, such as a publicly accessible computer. In this case, the usertemporarily loads the photographs of the camera AP1 onto the publiccomputer OR1 in order to send them to a station of the network, forexample the central server 100B.

Thus, the station 101B sends the first data item TH1 (a thumbnail) of afirst digital document DD1, to the central server 100B. He may also sendthe identifier Id1 of the document DD1 or the latter may be created bythe central server 100B. Station 101B also sends an item of informationfor designating a reference station 102B, typically its user identifier.This action is illustrated by the arrow F1 with reference to FIG. 13B.

The second data item HR1 of the digital document DD1 is not yetavailable on the network. The second data item HR1 is for example theoriginal data item at full resolution of the first document DD1 whereasthe first data item is a thumbnail TH1 of lower resolution, whichcorresponds to a first edition relationship of hierarchical type betweenthe first and second data items of the first digital document DD1 toshare according to the invention.

The central server 100B which receives, among others, that designationinformation item, selects the reference station 102B to which it sendsthe first data item TH1 of the first digital document and its identifierId1 (action F2).

This selection may also be made according to a selection criterionlinked to a characteristic of the reference station 102B, for exampleits time of presence or the bandwidth available at that station.

The central server 100B may make available the first data item TH1 ofthe first digital document DD1 and its identifier Id1 to any user of thenetwork who requests this and in particular station 103B.

The photographer who returns to his reference station 102B, downloadsfrom his camera AP1, from his memory card or from his mobile phone TM1,a second data item HR2 of a second digital document DD2 (action F3). Thefirst and second digital documents DD1 and DD2 are connected to eachother here by a second chosen geographical and temporal editionrelationship.

Station 102B deduces therefrom a first data item TH2 of that seconddigital document DD2. It should be noted that the second data item HR2of the second document DD2 is probably the same as the second data itemHR1 of the first document DD1 whereas the first data item TH2 of thesecond document may be different from the first data item TH1 of thefirst document according to the subsampling methods performed by thedifferent apparatuses AP1 and 102B.

Thus, to confirm that the two second data items of the two documents DD1and DD2 are indeed identical, station 102B performs an operation ofcomparing the first data item TH1 of the first document DD1 which itreceived from the station 100B with the first data item TH2 of thesecond document DD2.

In case of positive comparison, the identifier Id1 of the first documentDD1 is attributed to the second digital document DD2. Station 102B thensends confirmation of reception of the second data item HR1 of documentDD1 to the central server 100B (action F4).

The latter then knows that the original data item HR1 of the firstdocument DD1 is available and may thus be served.

If a user requests the original data item HR1 from a station 103B viathe identifier of the document Id1 (action F5), the central server 100Bmay deliver the original data item HR1 of document DD1, from or via thereference station 102B.

1. A method of controlling a center station which communicates with aplurality of stations sharing a digital document in a communicationnetwork, comprising the steps of: a) receiving a thumbnail data itemcomprised in a first station and a thumbnail data item comprised in asecond station; b) calculating a signature from each of the receivedthumbnail data items; c) comparing the calculated signatures of thereceived thumbnail data items based on a difference and a thresholdcalculated from the thumbnail data items; and d) transmittinginformation for accessing an original data item related to the thumbnaildata item comprised in the first station to the second station accordingto a result of the comparison.
 2. A method according to claim 1, whereinthe thumbnail data item comprised in the second station is generated inthe first station.
 3. A method according to claim 1, wherein colorhistograms each based on the thumbnail data items are calculated as thesignatures in said calculating step.
 4. A method according to claim 1,wherein said communication network is a peer-to-peer network.
 5. Amethod according to claim 1, wherein the first station is a digitalcamera apparatus and generates the original data item.
 6. A device forcontrolling a center station which communicates with a plurality ofstations sharing a digital document in a communication network,comprising: a) a receiver that receives a thumbnail data item comprisedin a first station and a thumbnail data item comprised in a secondstation; b) a calculator that calculates a signature from each of thereceived thumbnail data items; c) a comparator that compares thecalculated signatures of the received thumbnail data items based on adifference and a threshold calculated from the thumbnail data items; andd) a transmitter that transmits information for accessing an originaldata item related to the thumbnail data item comprised in the firststation to the second station according to a result of the comparisonperformed by the comparator.
 7. A computer-readable medium, storinginstructions of a computer program, wherein the stored instructions areexecuted by a computer or a microprocessor to implement the followingsteps: a) receiving a thumbnail data item comprised in a first stationand a thumbnail data item comprised in a second station; b) calculatinga signature from each of the received thumbnail data items; c) comparingthe calculated signatures of the received thumbnail data items based ona difference and a threshold calculated from the thumbnail data items;and d) transmitting information for accessing an original data itemrelated to the thumbnail data item comprised in the first station to thesecond station according to a result of the comparison.